<?php

namespace Admin\Controller;

use Think\Controller;
use Think\Verify;

/**
 * 后台登录管理
 */
class LoginController extends Controller{
    /**
     * 用户登录界面
     * @Autho:David Xu
     * @Date:2017年9月19日
     */
    public function index(){
        if($_SESSION['user']['id']){
            $this->redirect("Index/index");
        }
        $this->display();
    }
    /**
     * 登录操作
     * @Autho:David Xu
     * @Date:2017年9月19日
     */
    public function checkLogin(){
        $verify = I('POST.vercode');
        if (empty($verify)){
            $this->error('验证码错误！');
        }
        $verifyObj = new Verify();
        $res = $verifyObj->check($verify,1);
        if (!$res){
            $this->error('验证码错误！');
        }
        $username = I('POST.username');
        $password = md5(I('POST.userpass'));
        $map["username"] = array("eq",$username);
        $map["password"] = array("eq",$password);
        $result = M('Admin')->field('id,username,login_count,status')->where($map)->find();
        if($result){
            if($result['status'] == 0){
                $this->error('登录失败，账号被禁用');
            }
            $_SESSION['user'] = array(
                    'id' => $result['id'],
                    'username' => $result['username'],
                    );
            //保存登录信息
            $data['id'] = $result['id'];	//用户ID
            $data['login_ip'] = get_client_ip();	//最后登录IP
            $data['login_time'] = time();		//最后登录时间
            $data['login_count'] = $result['login_count'] + 1;
            M('Admin')->save($data);
            $this->success('验证成功，正在跳转到首页',U('Index/index'));	
        }else{
            $this->error('账户或密码错误');
        }
    }
    /**
     * 退出
     * @Autho:David Xu
     * @Date:2017年9月26日
     */
    public function LoginOut(){
        session("user",null);
        $this->redirect("index");
    }
    /**
     * 验证密码是否正确
     * @Autho:David Xu
     * @Date:2017年9月26日
     */
    public function checkpswd(){
        if(IS_POST){
            $map["username"] = session("user")["username"];
            $map["password"] = array("eq",md5(I("post.pswd")));
            $info = M("Admin")->where($map)->find();
            if($info){
                $this->success("密码正确");
            }else{
                $this->error("密码错误，请重新输入！");
            }
        }
    }
    /**
     * 验证码
     */
    public function verify(){
        $config = array(
            'codeSet'	=>	'1234567890',
            'fontSize'	=>	16,
            'length'	=>	4,
            'bg'		=>	array(227,227,227),
            'imageH'	=>	42,
            'imageW'	=>	120,
            'useCurve'	=>	true,
            'useNoise'	=>	true
        );
        ob_clean();
        $verify = new Verify($config);
        $verify->entry(1);
    }
}